package com.hui.stock.vo.resp;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.hui.stock.pojo.domain.MenuDomain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @author: ymh
 * @date: 2024/11/25 14:19
 * @description: 登录返回对象
 */
@ApiModel(description = "登录返回对象")
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class LoginRespVo {
    /**
     * 用户ID
     * 将Long类型数字进行json格式转化时，转成String格式类型
     */
    @ApiModelProperty(value = "用户id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;
    /**
     * 用户名
     */
    @ApiModelProperty(value = "用户名")
    private String username;
    /**
     * 电话
     */
    @ApiModelProperty(value = "用户电话")
    private String phone;
    /**
     * 昵称
     */
    @ApiModelProperty(value = "用户昵称")
    private String nickName;

    /**
     * 真实名称
     */
    @ApiModelProperty(value = "真实名称")
    private String realName;

    /**
     * 性别
     */
    @ApiModelProperty(value = "性别")
    private int sex;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态")
    private int status;

    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱")
    private int email;
    /**
     *侧边栏权限树（不包含按钮权限）
     */
    @ApiModelProperty(value = "侧边栏权限树（不包含按钮权限）", position = 9)
    private List<MenuDomain> menus;
    /**
     * 按钮权限标识
     */
    @ApiModelProperty(value = "按钮权限标识", position = 10)
    private List<String> permissions;
    /**
     * 用户登录成功后，将用户的id和name信息经过base64编码，作为票据token响应给前端
     */
    private String accessToken;
}
